#ifndef __PLATFORMCONTEXT_H__
#define __PLATFORMCONTEXT_H__

#include "fwDefine.h"

class PlatformContext
{
protected:
	char* m_szTitle;
	FWuint m_iFlags;
protected:
	PlatformContext();
protected:
	//Callback methods

	//virtual void InternalDraw() = 0;
	virtual void InternalRun(const FWobject extra) = 0;

	//Message friend callback function

	//friend void CallBackDraw(const FWobject, FWobject);
	friend void CallBackStartDevice(const FWobject, FWobject);
public:
	virtual ~PlatformContext();

	//Initialize engine data
	virtual FWint Init() = 0;
	//End game
	virtual void Exit();
	//Destroy engine data
	virtual void Destroy() = 0;
};
#endif